From 3e392e097fc0e98e606721748e8baee0e079a1a2 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sun, 12 Mar 2017 18:59:42 +0100
Subject: [PATCH] O_CLOEXEC needs _GNU_SOURCE defined

From man open(2):

    The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified
    in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc
    2.12, one can obtain their definitions by defining either
    _POSIX_C_SOURCE with a value greater than or equal to 200809L or
    _XOPEN_SOURCE with a value greater than or equal to 700.  In glibc
    2.11 and earlier, one obtains the definitions by defining
    _GNU_SOURCE.

And indeed, with the uClibc C library, O_CLOEXEC is not exposed if
_GNU_SOURCE is not defined. Therefore, this commit fixes the build of
gstreamer-vaapi with the uClibc C library.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 gst-libs/gst/vaapi/gstvaapidisplay_drm.c | 1 +
 tests/test-display.c                     | 1 +
 2 files changed, 2 insertions(+)

diff --git a/gst-libs/gst/vaapi/gstvaapidisplay_drm.c b/gst-libs/gst/vaapi/gstvaapidisplay_drm.c
index f436036..00ff039 100644
--- a/gst-libs/gst/vaapi/gstvaapidisplay_drm.c
+++ b/gst-libs/gst/vaapi/gstvaapidisplay_drm.c
@@ -25,6 +25,7 @@
  * @short_description: VA/DRM display abstraction
  */
 
+#define _GNU_SOURCE
 #include "sysdeps.h"
 #include <string.h>
 #include <unistd.h>
diff --git a/tests/test-display.c b/tests/test-display.c
index be9c24b..9abe754 100644
--- a/tests/test-display.c
+++ b/tests/test-display.c
@@ -22,6 +22,7 @@
  *  Boston, MA 02110-1301 USA
  */
 
+#define _GNU_SOURCE
 #include "gst/vaapi/sysdeps.h"
 #include <gst/video/video.h>
 #if USE_DRM
-- 
2.7.4

